#ifndef __STRUCTURE_ENTITY_HPP__
#define __STRUCTURE_ENTITY_HPP__

#include <time.h>
#include <string>
#include "Entity3D.hpp"
#include "StructureEntityStateNames.hpp"
#include "StructureEntityStates.hpp"
#include "../MFSMachine.hpp"

class StructureEntity : public Entity3D
{
public:
	StructureEntity(std::string modelName, std::string textureName, MVector3D pos = MVector3D(0.0f, 0.0f, 0.0f));
	~StructureEntity();

	MFSMachine<StructureEntity, StructureEntityStateName>*    getStateMachine();
	virtual void update(clock_t tick);

private:
	MFSMachine<StructureEntity, StructureEntityStateName>*    m_pMFSMachine;
};

#endif //__STRUCTURE_ENTITY_HPP__

//EOF
